
Page({

  /**
   * 页面的初始数据
   */
  data: {
    messages: [
      {
        role:"user",
        image:"/image/yonghu.png",
        content:"你好"
      },
      {
        role:"assistant",
        image:"/image/jiqiren.jpg",
        content:"如果你有什么问题，请随时向我提问。"
      },
      {
        role:"user",
        image:"/image/yonghu.png",
        content:"我在漳州，周末可以去哪玩？"
      },
      {
        role:"assistant",
        image:"/image/jiqiren.jpg",
        content:"漳州是一个充满活力和文化氛围的城市，有很多适合周末有玩的地方，以下是几个推荐的地方 东山岛 东山岛是一个以美丽的海景而闻名的福建第二大岛。"
      },
      {
        role:"user",
        image:"/image/yonghu.png",
        content:"周末天气如何？"
      },
  ],

  content:"",

  },

  // 获取用户内容
  getUserInput(e){
    let content=e.detail.value;
    this.setData({
      content
    })
  },

  submit() {
    let content = this.data.content
    let messages = this.data.messages
    if (!content) {
      wx.showToast({
        title: '请输入内容',
        icon:'none'
      })
      return;
    }
    messages.push({
        role:"user",
        image:"/image/yonghu.png",
        content
    })

    wx.setStorageSync('messages', messages) //缓存

    this.setData({
      messages,
      content:""
    })
    this.autoScroll()
    this.sendRequest(messages)
  },

  /**
   * 发送请求，获得百度内容
   * @param {*} messages 
   */
  sendRequest(messages){
    let content="你好aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
    let index=0;
    let that=this
    messages.push({
      role:"assistant",
      image:"/image/jiqiren.jpg", // 这个地方要换成机器人的图片！为什么是这样，逻辑你自己再理一理！
      content:""
    },)
    let time =setInterval(() => {
      messages[ messages.length - 1].content=content.substring(0, ++index)
      that.setData({
        messages
      })
      this.autoScroll()
      if(index==content.length){
        wx.setStorageSync('messages', messages)
        clearInterval(time)
        this.autoScroll()
      }
    }, 50);
  },

  /**
   * 生命周期函数--监听页面加载
   */
  // 保存用户对话
  onLoad: function (options) {
    let messages=wx.getStorageSync('messages')
    if(messages){
      this.setData({
        messages
      })
    }
    this.autoScroll();

    // 调用百度千帆接口，新建对话 id
    wx.request({
      url: 'https://qianfan.baidubce.com/v2/app/conversation',
      data: {
        "app_id": "d31aed3f-b64b-4c20-af9d-db189868da94"
      },
      header: {
          'Content-Type': 'application/json',
          'X-Appbuilder-Authorization': 'Bearer bce-v3/ALTAK-Wp8OplmwReEO8YewXgk6P/ce94da2346f1a891898a3d415f4f035711fcee7d'
      },
      method: 'POST',
      success: (result) => {
        console.log('调用接口：新建对话 id');
        console.log(result.data);
      },
      fail: (err) => {},
      complete: (res) => {},
    }) 

    // 直接调用原始模型
//   this.getToken()
//  },
// if (wx.getStorageSync('tokenData')) {
//   let tokenData=wx.getStorageSync('tokenData')
//   console.log(tokenData);
// else{
//     this.getToken()
//   )}
// }

//  getToken(){
//    let grant_type="client_credentials"
//    let client_id="	gTJCu2DMX3JZrJ5s1B5uwylW"
//    let client_secret="S9xuQiA5PRXIdCImTBRg7ZSX7VrVdXDW"
//    wx.request({
//      url: 'https://aip.baidubce.com/oauth/2.0/token?grant_type=${grant_type}&client_id={client_id}&client_secret={client_secret}',
//      method:"POST",
//      header:{
//       'Content-Type': 'application/json'
//      },
//      success:(res=>{
//        let tokenData={
//          access_token:res.data.access_token,
//          expires_in:res.data.expires_in
//        }
//        this.setData({
//          access_token:res.data.access_token
//        })
//        wx.setStorageSync('tokenData', tokenData)
//      }),
//      fail:(err=>{
//        console.log('err');
//      })

//    })
//  },


  },




  // 自动跳到底部
  autoScroll(){
    let that = this;
    wx.createSelectorQuery().select('#communication').boundingClientRect(function (rect) {
      wx.pageScrollTo({
        scrollTop: rect.height,
        duration:300
      })
      that.setData({
        scrollTop: rect.height - that.data.scrollTop
      });
    }).exec();
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {
    
  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {
    
  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {
    
  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {
    
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {
    
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {
    
  }
})




